package o;

import com.google.gson.stream.MalformedJsonException;
import com.huawei.hwid.core.constants.HwAccountConstants;
import com.huawei.updatesdk.service.otaupdate.UpdateStatusCode.DialogButton;
import com.tencent.mm.opensdk.modelmsg.WXMediaMessage;
import java.io.Closeable;
import java.io.EOFException;
import java.io.IOException;
import java.io.Reader;
import o.fc.c;

public class auy implements Closeable {
    private static final char[] ˊ = ")]}'\n".toCharArray();
    private int ʻ = 0;
    private long ʼ;
    private int ʽ = 0;
    private int ˊॱ = 0;
    private final char[] ˋ = new char[WXMediaMessage.DESCRIPTION_LENGTH_LIMIT];
    private String[] ˋॱ;
    private final Reader ˎ;
    private boolean ˏ = false;
    private String ˏॱ;
    private int ͺ;
    int ॱ = 0;
    private int[] ॱˊ = new int[32];
    private int[] ॱˋ;
    private int ॱॱ = 0;
    private int ᐝ = 0;

    static {
        att.ˎ = new att() {
            public void ˊ(auy o_auy) throws IOException {
                if (o_auy instanceof auj) {
                    ((auj) o_auy).ˊॱ();
                    return;
                }
                int i = o_auy.ॱ;
                if (i == 0) {
                    i = o_auy.ᐝॱ();
                }
                if (i == 13) {
                    o_auy.ॱ = 9;
                } else if (i == 12) {
                    o_auy.ॱ = 8;
                } else if (i == 14) {
                    o_auy.ॱ = 10;
                } else {
                    throw new IllegalStateException("Expected a name but was " + o_auy.ʻ() + o_auy.ॱᐝ());
                }
            }
        };
    }

    public auy(Reader reader) {
        int[] iArr = this.ॱˊ;
        int i = this.ˊॱ;
        this.ˊॱ = i + 1;
        iArr[i] = 6;
        this.ˋॱ = new String[32];
        this.ॱˋ = new int[32];
        if (reader == null) {
            throw new NullPointerException("in == null");
        }
        this.ˎ = reader;
    }

    public final void ˊ(boolean z) {
        this.ˏ = z;
    }

    public final boolean ʻॱ() {
        return this.ˏ;
    }

    public void ˊ() throws IOException {
        int i = this.ॱ;
        if (i == 0) {
            i = ᐝॱ();
        }
        if (i == 3) {
            ˏ(1);
            this.ॱˋ[this.ˊॱ - 1] = 0;
            this.ॱ = 0;
            return;
        }
        throw new IllegalStateException("Expected BEGIN_ARRAY but was " + ʻ() + ॱᐝ());
    }

    public void ˎ() throws IOException {
        int i = this.ॱ;
        if (i == 0) {
            i = ᐝॱ();
        }
        if (i == 4) {
            this.ˊॱ--;
            int[] iArr = this.ॱˋ;
            int i2 = this.ˊॱ - 1;
            iArr[i2] = iArr[i2] + 1;
            this.ॱ = 0;
            return;
        }
        throw new IllegalStateException("Expected END_ARRAY but was " + ʻ() + ॱᐝ());
    }

    public void ॱ() throws IOException {
        int i = this.ॱ;
        if (i == 0) {
            i = ᐝॱ();
        }
        if (i == 1) {
            ˏ(3);
            this.ॱ = 0;
            return;
        }
        throw new IllegalStateException("Expected BEGIN_OBJECT but was " + ʻ() + ॱᐝ());
    }

    public void ˏ() throws IOException {
        int i = this.ॱ;
        if (i == 0) {
            i = ᐝॱ();
        }
        if (i == 2) {
            this.ˊॱ--;
            this.ˋॱ[this.ˊॱ] = null;
            int[] iArr = this.ॱˋ;
            int i2 = this.ˊॱ - 1;
            iArr[i2] = iArr[i2] + 1;
            this.ॱ = 0;
            return;
        }
        throw new IllegalStateException("Expected END_OBJECT but was " + ʻ() + ॱᐝ());
    }

    public boolean ˋ() throws IOException {
        int i = this.ॱ;
        if (i == 0) {
            i = ᐝॱ();
        }
        return (i == 2 || i == 4) ? false : true;
    }

    public auz ʻ() throws IOException {
        int i = this.ॱ;
        if (i == 0) {
            i = ᐝॱ();
        }
        switch (i) {
            case 1:
                return auz.BEGIN_OBJECT;
            case 2:
                return auz.END_OBJECT;
            case 3:
                return auz.BEGIN_ARRAY;
            case 4:
                return auz.END_ARRAY;
            case 5:
            case 6:
                return auz.BOOLEAN;
            case 7:
                return auz.NULL;
            case 8:
            case 9:
            case 10:
            case 11:
                return auz.STRING;
            case 12:
            case 13:
            case 14:
                return auz.NAME;
            case 15:
            case 16:
                return auz.NUMBER;
            case 17:
                return auz.END_DOCUMENT;
            default:
                throw new AssertionError();
        }
    }

    int ᐝॱ() throws IOException {
        int ˎ;
        int i = this.ॱˊ[this.ˊॱ - 1];
        if (i == 1) {
            this.ॱˊ[this.ˊॱ - 1] = 2;
        } else if (i == 2) {
            switch (ˎ(true)) {
                case 44:
                    break;
                case 59:
                    ʿ();
                    break;
                case 93:
                    this.ॱ = 4;
                    return 4;
                default:
                    throw ˊ("Unterminated array");
            }
        } else if (i == 3 || i == 5) {
            this.ॱˊ[this.ˊॱ - 1] = 4;
            if (i == 5) {
                switch (ˎ(true)) {
                    case 44:
                        break;
                    case 59:
                        ʿ();
                        break;
                    case 125:
                        this.ॱ = 2;
                        return 2;
                    default:
                        throw ˊ("Unterminated object");
                }
            }
            ˎ = ˎ(true);
            switch (ˎ) {
                case 34:
                    this.ॱ = 13;
                    return 13;
                case 39:
                    ʿ();
                    this.ॱ = 12;
                    return 12;
                case 125:
                    if (i != 5) {
                        this.ॱ = 2;
                        return 2;
                    }
                    throw ˊ("Expected name");
                default:
                    ʿ();
                    this.ॱॱ--;
                    if (ॱ((char) ˎ)) {
                        this.ॱ = 14;
                        return 14;
                    }
                    throw ˊ("Expected name");
            }
        } else if (i == 4) {
            this.ॱˊ[this.ˊॱ - 1] = 5;
            switch (ˎ(true)) {
                case 58:
                    break;
                case c.ᵢ /*61*/:
                    ʿ();
                    if ((this.ॱॱ < this.ᐝ || ˊ(1)) && this.ˋ[this.ॱॱ] == '>') {
                        this.ॱॱ++;
                        break;
                    }
                default:
                    throw ˊ("Expected ':'");
            }
        } else if (i == 6) {
            if (this.ˏ) {
                ˋˊ();
            }
            this.ॱˊ[this.ˊॱ - 1] = 7;
        } else if (i == 7) {
            if (ˎ(false) == -1) {
                this.ॱ = 17;
                return 17;
            }
            ʿ();
            this.ॱॱ--;
        } else if (i == 8) {
            throw new IllegalStateException("JsonReader is closed");
        }
        switch (ˎ(true)) {
            case 34:
                this.ॱ = 9;
                return 9;
            case 39:
                ʿ();
                this.ॱ = 8;
                return 8;
            case 44:
            case 59:
                break;
            case 91:
                this.ॱ = 3;
                return 3;
            case 93:
                if (i == 1) {
                    this.ॱ = 4;
                    return 4;
                }
                break;
            case 123:
                this.ॱ = 1;
                return 1;
            default:
                this.ॱॱ--;
                ˎ = ˊॱ();
                if (ˎ != 0) {
                    return ˎ;
                }
                ˎ = ॱˋ();
                if (ˎ != 0) {
                    return ˎ;
                }
                if (ॱ(this.ˋ[this.ॱॱ])) {
                    ʿ();
                    this.ॱ = 10;
                    return 10;
                }
                throw ˊ("Expected value");
        }
        if (i == 1 || i == 2) {
            ʿ();
            this.ॱॱ--;
            this.ॱ = 7;
            return 7;
        }
        throw ˊ("Unexpected value");
    }

    private int ˊॱ() throws IOException {
        String str;
        int i;
        char c = this.ˋ[this.ॱॱ];
        String str2;
        if (c == 't' || c == 'T') {
            str = "true";
            str2 = "TRUE";
            i = 5;
        } else if (c == 'f' || c == 'F') {
            str = "false";
            str2 = "FALSE";
            i = 6;
        } else if (c != 'n' && c != 'N') {
            return 0;
        } else {
            str = HwAccountConstants.NULL;
            str2 = "NULL";
            i = 7;
        }
        int length = str.length();
        int i2 = 1;
        while (i2 < length) {
            if (this.ॱॱ + i2 >= this.ᐝ && !ˊ(i2 + 1)) {
                return 0;
            }
            char c2 = this.ˋ[this.ॱॱ + i2];
            if (c2 != str.charAt(i2) && c2 != r1.charAt(i2)) {
                return 0;
            }
            i2++;
        }
        if ((this.ॱॱ + length < this.ᐝ || ˊ(length + 1)) && ॱ(this.ˋ[this.ॱॱ + length])) {
            return 0;
        }
        this.ॱॱ += length;
        this.ॱ = i;
        return i;
    }

    private int ॱˋ() throws IOException {
        char[] cArr = this.ˋ;
        int i = this.ॱॱ;
        long j = 0;
        Object obj = null;
        int i2 = 1;
        int i3 = 0;
        int i4 = 0;
        int i5 = this.ᐝ;
        int i6 = i;
        while (true) {
            Object obj2;
            if (i6 + i4 == i5) {
                if (i4 == cArr.length) {
                    return 0;
                }
                if (ˊ(i4 + 1)) {
                    i6 = this.ॱॱ;
                    i5 = this.ᐝ;
                } else if (i3 != 2 && i2 != 0 && ((j != Long.MIN_VALUE || obj != null) && (j != 0 || obj == null))) {
                    if (obj == null) {
                        j = -j;
                    }
                    this.ʼ = j;
                    this.ॱॱ += i4;
                    this.ॱ = 15;
                    return 15;
                } else if (i3 == 2 && i3 != 4 && i3 != 7) {
                    return 0;
                } else {
                    this.ͺ = i4;
                    this.ॱ = 16;
                    return 16;
                }
            }
            char c = cArr[i6 + i4];
            int i7;
            switch (c) {
                case '+':
                    if (i3 != 5) {
                        return 0;
                    }
                    i = 6;
                    i3 = i2;
                    obj2 = obj;
                    continue;
                case '-':
                    if (i3 == 0) {
                        i = 1;
                        i7 = i2;
                        obj2 = 1;
                        i3 = i7;
                        continue;
                    } else if (i3 == 5) {
                        i = 6;
                        i3 = i2;
                        obj2 = obj;
                        break;
                    } else {
                        return 0;
                    }
                case '.':
                    if (i3 != 2) {
                        return 0;
                    }
                    i = 3;
                    i3 = i2;
                    obj2 = obj;
                    continue;
                case c.ꜟॱ /*69*/:
                case DialogButton.CONFIRM /*101*/:
                    if (i3 != 2 && i3 != 4) {
                        return 0;
                    }
                    i = 5;
                    i3 = i2;
                    obj2 = obj;
                    continue;
                default:
                    if (c >= '0' && c <= '9') {
                        if (i3 != 1 && i3 != 0) {
                            if (i3 != 2) {
                                if (i3 != 3) {
                                    if (i3 != 5 && i3 != 6) {
                                        i = i3;
                                        i3 = i2;
                                        obj2 = obj;
                                        break;
                                    }
                                    i = 7;
                                    i3 = i2;
                                    obj2 = obj;
                                    break;
                                }
                                i = 4;
                                i3 = i2;
                                obj2 = obj;
                                break;
                            } else if (j != 0) {
                                long j2 = (10 * j) - ((long) (c - 48));
                                i = (j > -922337203685477580L || (j == -922337203685477580L && j2 < j)) ? 1 : 0;
                                i &= i2;
                                obj2 = obj;
                                j = j2;
                                i7 = i3;
                                i3 = i;
                                i = i7;
                                break;
                            } else {
                                return 0;
                            }
                        }
                        j = (long) (-(c - 48));
                        i = 2;
                        i3 = i2;
                        obj2 = obj;
                        continue;
                    } else if (ॱ(c)) {
                        return 0;
                    }
                    break;
            }
            if (i3 != 2) {
            }
            if (i3 == 2) {
            }
            this.ͺ = i4;
            this.ॱ = 16;
            return 16;
            i4++;
            obj = obj2;
            i2 = i3;
            i3 = i;
        }
    }

    private boolean ॱ(char c) throws IOException {
        switch (c) {
            case '\t':
            case '\n':
            case '\f':
            case '\r':
            case ' ':
            case ',':
            case ':':
            case '[':
            case ']':
            case '{':
            case '}':
                break;
            case '#':
            case '/':
            case ';':
            case c.ᵢ /*61*/:
            case '\\':
                ʿ();
                break;
            default:
                return true;
        }
        return false;
    }

    public String ᐝ() throws IOException {
        String ʼॱ;
        int i = this.ॱ;
        if (i == 0) {
            i = ᐝॱ();
        }
        if (i == 14) {
            ʼॱ = ʼॱ();
        } else if (i == 12) {
            ʼॱ = ˏ('\'');
        } else if (i == 13) {
            ʼॱ = ˏ('\"');
        } else {
            throw new IllegalStateException("Expected a name but was " + ʻ() + ॱᐝ());
        }
        this.ॱ = 0;
        this.ˋॱ[this.ˊॱ - 1] = ʼॱ;
        return ʼॱ;
    }

    public String ʽ() throws IOException {
        String ʼॱ;
        int i = this.ॱ;
        if (i == 0) {
            i = ᐝॱ();
        }
        if (i == 10) {
            ʼॱ = ʼॱ();
        } else if (i == 8) {
            ʼॱ = ˏ('\'');
        } else if (i == 9) {
            ʼॱ = ˏ('\"');
        } else if (i == 11) {
            ʼॱ = this.ˏॱ;
            this.ˏॱ = null;
        } else if (i == 15) {
            ʼॱ = Long.toString(this.ʼ);
        } else if (i == 16) {
            ʼॱ = new String(this.ˋ, this.ॱॱ, this.ͺ);
            this.ॱॱ += this.ͺ;
        } else {
            throw new IllegalStateException("Expected a string but was " + ʻ() + ॱᐝ());
        }
        this.ॱ = 0;
        int[] iArr = this.ॱˋ;
        int i2 = this.ˊॱ - 1;
        iArr[i2] = iArr[i2] + 1;
        return ʼॱ;
    }

    public boolean ʼ() throws IOException {
        int i = this.ॱ;
        if (i == 0) {
            i = ᐝॱ();
        }
        if (i == 5) {
            this.ॱ = 0;
            int[] iArr = this.ॱˋ;
            i = this.ˊॱ - 1;
            iArr[i] = iArr[i] + 1;
            return true;
        } else if (i == 6) {
            this.ॱ = 0;
            int[] iArr2 = this.ॱˋ;
            int i2 = this.ˊॱ - 1;
            iArr2[i2] = iArr2[i2] + 1;
            return false;
        } else {
            throw new IllegalStateException("Expected a boolean but was " + ʻ() + ॱᐝ());
        }
    }

    public void ॱॱ() throws IOException {
        int i = this.ॱ;
        if (i == 0) {
            i = ᐝॱ();
        }
        if (i == 7) {
            this.ॱ = 0;
            int[] iArr = this.ॱˋ;
            int i2 = this.ˊॱ - 1;
            iArr[i2] = iArr[i2] + 1;
            return;
        }
        throw new IllegalStateException("Expected null but was " + ʻ() + ॱᐝ());
    }

    public double ॱˊ() throws IOException {
        int i = this.ॱ;
        if (i == 0) {
            i = ᐝॱ();
        }
        if (i == 15) {
            this.ॱ = 0;
            int[] iArr = this.ॱˋ;
            int i2 = this.ˊॱ - 1;
            iArr[i2] = iArr[i2] + 1;
            return (double) this.ʼ;
        }
        if (i == 16) {
            this.ˏॱ = new String(this.ˋ, this.ॱॱ, this.ͺ);
            this.ॱॱ += this.ͺ;
        } else if (i == 8 || i == 9) {
            this.ˏॱ = ˏ(i == 8 ? '\'' : '\"');
        } else if (i == 10) {
            this.ˏॱ = ʼॱ();
        } else if (i != 11) {
            throw new IllegalStateException("Expected a double but was " + ʻ() + ॱᐝ());
        }
        this.ॱ = 11;
        double parseDouble = Double.parseDouble(this.ˏॱ);
        if (this.ˏ || !(Double.isNaN(parseDouble) || Double.isInfinite(parseDouble))) {
            this.ˏॱ = null;
            this.ॱ = 0;
            int[] iArr2 = this.ॱˋ;
            int i3 = this.ˊॱ - 1;
            iArr2[i3] = iArr2[i3] + 1;
            return parseDouble;
        }
        throw new MalformedJsonException("JSON forbids NaN and infinities: " + parseDouble + ॱᐝ());
    }

    public long ͺ() throws IOException {
        int i = this.ॱ;
        if (i == 0) {
            i = ᐝॱ();
        }
        if (i == 15) {
            this.ॱ = 0;
            int[] iArr = this.ॱˋ;
            int i2 = this.ˊॱ - 1;
            iArr[i2] = iArr[i2] + 1;
            return this.ʼ;
        }
        long parseLong;
        if (i == 16) {
            this.ˏॱ = new String(this.ˋ, this.ॱॱ, this.ͺ);
            this.ॱॱ += this.ͺ;
        } else if (i == 8 || i == 9 || i == 10) {
            if (i == 10) {
                this.ˏॱ = ʼॱ();
            } else {
                this.ˏॱ = ˏ(i == 8 ? '\'' : '\"');
            }
            try {
                parseLong = Long.parseLong(this.ˏॱ);
                this.ॱ = 0;
                int[] iArr2 = this.ॱˋ;
                int i3 = this.ˊॱ - 1;
                iArr2[i3] = iArr2[i3] + 1;
                return parseLong;
            } catch (NumberFormatException e) {
            }
        } else {
            throw new IllegalStateException("Expected a long but was " + ʻ() + ॱᐝ());
        }
        this.ॱ = 11;
        double parseDouble = Double.parseDouble(this.ˏॱ);
        parseLong = (long) parseDouble;
        if (((double) parseLong) != parseDouble) {
            throw new NumberFormatException("Expected a long but was " + this.ˏॱ + ॱᐝ());
        }
        this.ˏॱ = null;
        this.ॱ = 0;
        iArr2 = this.ॱˋ;
        i3 = this.ˊॱ - 1;
        iArr2[i3] = iArr2[i3] + 1;
        return parseLong;
    }

    private String ˏ(char c) throws IOException {
        char[] cArr = this.ˋ;
        StringBuilder stringBuilder = null;
        do {
            int i = this.ॱॱ;
            int i2 = this.ᐝ;
            int i3 = i;
            while (i3 < i2) {
                int i4 = i3 + 1;
                char c2 = cArr[i3];
                if (c2 == c) {
                    this.ॱॱ = i4;
                    i2 = (i4 - i) - 1;
                    if (stringBuilder == null) {
                        return new String(cArr, i, i2);
                    }
                    stringBuilder.append(cArr, i, i2);
                    return stringBuilder.toString();
                }
                StringBuilder stringBuilder2;
                int i5;
                int i6;
                if (c2 == '\\') {
                    this.ॱॱ = i4;
                    i2 = (i4 - i) - 1;
                    if (stringBuilder == null) {
                        stringBuilder = new StringBuilder(Math.max((i2 + 1) * 2, 16));
                    }
                    stringBuilder.append(cArr, i, i2);
                    stringBuilder.append(ʾ());
                    i = this.ॱॱ;
                    stringBuilder2 = stringBuilder;
                    i5 = i;
                    i6 = i;
                    i = this.ᐝ;
                    i2 = i6;
                } else {
                    if (c2 == '\n') {
                        this.ʻ++;
                        this.ʽ = i4;
                    }
                    i6 = i;
                    i = i2;
                    i2 = i4;
                    stringBuilder2 = stringBuilder;
                    i5 = i6;
                }
                i3 = i2;
                i2 = i;
                i = i5;
                stringBuilder = stringBuilder2;
            }
            if (stringBuilder == null) {
                stringBuilder = new StringBuilder(Math.max((i3 - i) * 2, 16));
            }
            stringBuilder.append(cArr, i, i3 - i);
            this.ॱॱ = i3;
        } while (ˊ(1));
        throw ˊ("Unterminated string");
    }

    private String ʼॱ() throws IOException {
        StringBuilder stringBuilder = null;
        int i = 0;
        while (true) {
            String str;
            if (this.ॱॱ + i < this.ᐝ) {
                switch (this.ˋ[this.ॱॱ + i]) {
                    case '\t':
                    case '\n':
                    case '\f':
                    case '\r':
                    case ' ':
                    case ',':
                    case ':':
                    case '[':
                    case ']':
                    case '{':
                    case '}':
                        break;
                    case '#':
                    case '/':
                    case ';':
                    case c.ᵢ /*61*/:
                    case '\\':
                        ʿ();
                        break;
                    default:
                        i++;
                        continue;
                }
            } else if (i >= this.ˋ.length) {
                if (stringBuilder == null) {
                    stringBuilder = new StringBuilder(Math.max(i, 16));
                }
                stringBuilder.append(this.ˋ, this.ॱॱ, i);
                this.ॱॱ = i + this.ॱॱ;
                if (ˊ(1)) {
                    i = 0;
                } else {
                    i = 0;
                }
            } else if (ˊ(i + 1)) {
            }
            if (stringBuilder == null) {
                str = new String(this.ˋ, this.ॱॱ, i);
            } else {
                str = stringBuilder.append(this.ˋ, this.ॱॱ, i).toString();
            }
            this.ॱॱ = i + this.ॱॱ;
            return str;
        }
    }

    private void ˋ(char c) throws IOException {
        char[] cArr = this.ˋ;
        do {
            int i = this.ॱॱ;
            int i2 = this.ᐝ;
            int i3 = i;
            while (i3 < i2) {
                i = i3 + 1;
                char c2 = cArr[i3];
                if (c2 == c) {
                    this.ॱॱ = i;
                    return;
                }
                if (c2 == '\\') {
                    this.ॱॱ = i;
                    ʾ();
                    i = this.ॱॱ;
                    i2 = this.ᐝ;
                } else if (c2 == '\n') {
                    this.ʻ++;
                    this.ʽ = i;
                }
                i3 = i;
            }
            this.ॱॱ = i3;
        } while (ˊ(1));
        throw ˊ("Unterminated string");
    }

    private void ʽॱ() throws IOException {
        do {
            int i = 0;
            while (this.ॱॱ + i < this.ᐝ) {
                switch (this.ˋ[this.ॱॱ + i]) {
                    case '\t':
                    case '\n':
                    case '\f':
                    case '\r':
                    case ' ':
                    case ',':
                    case ':':
                    case '[':
                    case ']':
                    case '{':
                    case '}':
                        break;
                    case '#':
                    case '/':
                    case ';':
                    case c.ᵢ /*61*/:
                    case '\\':
                        ʿ();
                        break;
                    default:
                        i++;
                }
                this.ॱॱ = i + this.ॱॱ;
                return;
            }
            this.ॱॱ = i + this.ॱॱ;
        } while (ˊ(1));
    }

    public int ˏॱ() throws IOException {
        int i = this.ॱ;
        if (i == 0) {
            i = ᐝॱ();
        }
        int[] iArr;
        int i2;
        if (i == 15) {
            i = (int) this.ʼ;
            if (this.ʼ != ((long) i)) {
                throw new NumberFormatException("Expected an int but was " + this.ʼ + ॱᐝ());
            }
            this.ॱ = 0;
            iArr = this.ॱˋ;
            i2 = this.ˊॱ - 1;
            iArr[i2] = iArr[i2] + 1;
        } else {
            if (i == 16) {
                this.ˏॱ = new String(this.ˋ, this.ॱॱ, this.ͺ);
                this.ॱॱ += this.ͺ;
            } else if (i == 8 || i == 9 || i == 10) {
                if (i == 10) {
                    this.ˏॱ = ʼॱ();
                } else {
                    this.ˏॱ = ˏ(i == 8 ? '\'' : '\"');
                }
                try {
                    i = Integer.parseInt(this.ˏॱ);
                    this.ॱ = 0;
                    iArr = this.ॱˋ;
                    i2 = this.ˊॱ - 1;
                    iArr[i2] = iArr[i2] + 1;
                } catch (NumberFormatException e) {
                }
            } else {
                throw new IllegalStateException("Expected an int but was " + ʻ() + ॱᐝ());
            }
            this.ॱ = 11;
            double parseDouble = Double.parseDouble(this.ˏॱ);
            i = (int) parseDouble;
            if (((double) i) != parseDouble) {
                throw new NumberFormatException("Expected an int but was " + this.ˏॱ + ॱᐝ());
            }
            this.ˏॱ = null;
            this.ॱ = 0;
            iArr = this.ॱˋ;
            i2 = this.ˊॱ - 1;
            iArr[i2] = iArr[i2] + 1;
        }
        return i;
    }

    public void close() throws IOException {
        this.ॱ = 0;
        this.ॱˊ[0] = 8;
        this.ˊॱ = 1;
        this.ˎ.close();
    }

    public void ˋॱ() throws IOException {
        int i = 0;
        do {
            int i2 = this.ॱ;
            if (i2 == 0) {
                i2 = ᐝॱ();
            }
            if (i2 == 3) {
                ˏ(1);
                i++;
            } else if (i2 == 1) {
                ˏ(3);
                i++;
            } else if (i2 == 4) {
                this.ˊॱ--;
                i--;
            } else if (i2 == 2) {
                this.ˊॱ--;
                i--;
            } else if (i2 == 14 || i2 == 10) {
                ʽॱ();
            } else if (i2 == 8 || i2 == 12) {
                ˋ('\'');
            } else if (i2 == 9 || i2 == 13) {
                ˋ('\"');
            } else if (i2 == 16) {
                this.ॱॱ += this.ͺ;
            }
            this.ॱ = 0;
        } while (i != 0);
        int[] iArr = this.ॱˋ;
        int i3 = this.ˊॱ - 1;
        iArr[i3] = iArr[i3] + 1;
        this.ˋॱ[this.ˊॱ - 1] = HwAccountConstants.NULL;
    }

    private void ˏ(int i) {
        if (this.ˊॱ == this.ॱˊ.length) {
            Object obj = new int[(this.ˊॱ * 2)];
            Object obj2 = new int[(this.ˊॱ * 2)];
            Object obj3 = new String[(this.ˊॱ * 2)];
            System.arraycopy(this.ॱˊ, 0, obj, 0, this.ˊॱ);
            System.arraycopy(this.ॱˋ, 0, obj2, 0, this.ˊॱ);
            System.arraycopy(this.ˋॱ, 0, obj3, 0, this.ˊॱ);
            this.ॱˊ = obj;
            this.ॱˋ = obj2;
            this.ˋॱ = obj3;
        }
        int[] iArr = this.ॱˊ;
        int i2 = this.ˊॱ;
        this.ˊॱ = i2 + 1;
        iArr[i2] = i;
    }

    private boolean ˊ(int i) throws IOException {
        Object obj = this.ˋ;
        this.ʽ -= this.ॱॱ;
        if (this.ᐝ != this.ॱॱ) {
            this.ᐝ -= this.ॱॱ;
            System.arraycopy(obj, this.ॱॱ, obj, 0, this.ᐝ);
        } else {
            this.ᐝ = 0;
        }
        this.ॱॱ = 0;
        do {
            int read = this.ˎ.read(obj, this.ᐝ, obj.length - this.ᐝ);
            if (read == -1) {
                return false;
            }
            this.ᐝ = read + this.ᐝ;
            if (this.ʻ == 0 && this.ʽ == 0 && this.ᐝ > 0 && obj[0] == '﻿') {
                this.ॱॱ++;
                this.ʽ++;
                i++;
            }
        } while (this.ᐝ < i);
        return true;
    }

    private int ˎ(boolean z) throws IOException {
        char[] cArr = this.ˋ;
        int i = this.ॱॱ;
        int i2 = this.ᐝ;
        while (true) {
            if (i == i2) {
                this.ॱॱ = i;
                if (ˊ(1)) {
                    i = this.ॱॱ;
                    i2 = this.ᐝ;
                } else if (!z) {
                    return -1;
                } else {
                    throw new EOFException("End of input" + ॱᐝ());
                }
            }
            int i3 = i + 1;
            char c = cArr[i];
            if (c == '\n') {
                this.ʻ++;
                this.ʽ = i3;
                i = i3;
            } else if (c == ' ' || c == '\r') {
                i = i3;
            } else if (c == '\t') {
                i = i3;
            } else if (c == '/') {
                this.ॱॱ = i3;
                if (i3 == i2) {
                    this.ॱॱ--;
                    boolean ˊ = ˊ(2);
                    this.ॱॱ++;
                    if (!ˊ) {
                        return c;
                    }
                }
                ʿ();
                switch (cArr[this.ॱॱ]) {
                    case '*':
                        this.ॱॱ++;
                        if (ॱ("*/")) {
                            i = this.ॱॱ + 2;
                            i2 = this.ᐝ;
                            break;
                        }
                        throw ˊ("Unterminated comment");
                    case '/':
                        this.ॱॱ++;
                        ˈ();
                        i = this.ॱॱ;
                        i2 = this.ᐝ;
                        break;
                    default:
                        return c;
                }
            } else if (c == '#') {
                this.ॱॱ = i3;
                ʿ();
                ˈ();
                i = this.ॱॱ;
                i2 = this.ᐝ;
            } else {
                this.ॱॱ = i3;
                return c;
            }
        }
    }

    private void ʿ() throws IOException {
        if (!this.ˏ) {
            throw ˊ("Use JsonReader.setLenient(true) to accept malformed JSON");
        }
    }

    private void ˈ() throws IOException {
        char c;
        do {
            if (this.ॱॱ < this.ᐝ || ˊ(1)) {
                char[] cArr = this.ˋ;
                int i = this.ॱॱ;
                this.ॱॱ = i + 1;
                c = cArr[i];
                if (c == '\n') {
                    this.ʻ++;
                    this.ʽ = this.ॱॱ;
                    return;
                }
            } else {
                return;
            }
        } while (c != '\r');
    }

    private boolean ॱ(String str) throws IOException {
        int length = str.length();
        while (true) {
            if (this.ॱॱ + length > this.ᐝ && !ˊ(length)) {
                return false;
            }
            if (this.ˋ[this.ॱॱ] == '\n') {
                this.ʻ++;
                this.ʽ = this.ॱॱ + 1;
            } else {
                int i = 0;
                while (i < length) {
                    if (this.ˋ[this.ॱॱ + i] == str.charAt(i)) {
                        i++;
                    }
                }
                return true;
            }
            this.ॱॱ++;
        }
    }

    public String toString() {
        return getClass().getSimpleName() + ॱᐝ();
    }

    String ॱᐝ() {
        return " at line " + (this.ʻ + 1) + " column " + ((this.ॱॱ - this.ʽ) + 1) + " path " + ॱˎ();
    }

    public String ॱˎ() {
        StringBuilder append = new StringBuilder().append('$');
        int i = this.ˊॱ;
        for (int i2 = 0; i2 < i; i2++) {
            switch (this.ॱˊ[i2]) {
                case 1:
                case 2:
                    append.append('[').append(this.ॱˋ[i2]).append(']');
                    break;
                case 3:
                case 4:
                case 5:
                    append.append('.');
                    if (this.ˋॱ[i2] == null) {
                        break;
                    }
                    append.append(this.ˋॱ[i2]);
                    break;
                default:
                    break;
            }
        }
        return append.toString();
    }

    private char ʾ() throws IOException {
        if (this.ॱॱ != this.ᐝ || ˊ(1)) {
            char[] cArr = this.ˋ;
            int i = this.ॱॱ;
            this.ॱॱ = i + 1;
            char c = cArr[i];
            switch (c) {
                case '\n':
                    this.ʻ++;
                    this.ʽ = this.ॱॱ;
                    return c;
                case '\"':
                case '\'':
                case '/':
                case '\\':
                    return c;
                case 'b':
                    return '\b';
                case 'f':
                    return '\f';
                case 'n':
                    return '\n';
                case 'r':
                    return '\r';
                case 't':
                    return '\t';
                case 'u':
                    if (this.ॱॱ + 4 <= this.ᐝ || ˊ(4)) {
                        int i2 = this.ॱॱ;
                        int i3 = i2 + 4;
                        int i4 = i2;
                        c = '\u0000';
                        for (i = i4; i < i3; i++) {
                            char c2 = this.ˋ[i];
                            c = (char) (c << 4);
                            if (c2 >= '0' && c2 <= '9') {
                                c = (char) (c + (c2 - 48));
                            } else if (c2 >= 'a' && c2 <= 'f') {
                                c = (char) (c + ((c2 - 97) + 10));
                            } else if (c2 < 'A' || c2 > 'F') {
                                throw new NumberFormatException("\\u" + new String(this.ˋ, this.ॱॱ, 4));
                            } else {
                                c = (char) (c + ((c2 - 65) + 10));
                            }
                        }
                        this.ॱॱ += 4;
                        return c;
                    }
                    throw ˊ("Unterminated escape sequence");
                default:
                    throw ˊ("Invalid escape sequence");
            }
        }
        throw ˊ("Unterminated escape sequence");
    }

    private IOException ˊ(String str) throws IOException {
        throw new MalformedJsonException(str + ॱᐝ());
    }

    private void ˋˊ() throws IOException {
        ˎ(true);
        this.ॱॱ--;
        if (this.ॱॱ + ˊ.length <= this.ᐝ || ˊ(ˊ.length)) {
            int i = 0;
            while (i < ˊ.length) {
                if (this.ˋ[this.ॱॱ + i] == ˊ[i]) {
                    i++;
                } else {
                    return;
                }
            }
            this.ॱॱ += ˊ.length;
        }
    }
}
